#ifndef LE_GEN_SCREEN_SCREEN1_H
#define LE_GEN_SCREEN_SCREEN1_H

#include "gfx/legato/legato.h"

#include "gfx/legato/generated/le_gen_scheme.h"
#include "gfx/legato/generated/le_gen_assets.h"

// DOM-IGNORE-BEGIN
#ifdef __cplusplus  // Provide C++ Compatibility
extern "C" {
#endif
// DOM-IGNORE-END

// screen member widget declarations
extern leWidget* Screen1_PanelWidget0;
extern leImageWidget* Screen1_Bulb_On_Image1;
extern leImageWidget* Screen1_Bulb_On_Image2;
extern leImageWidget* Screen1_Bulb_On_Image3;
extern leImageWidget* Screen1_Bulb_On_Image4;
extern leImageWidget* Screen1_Bulb_Off_Image1;
extern leImageWidget* Screen1_Bulb_Off_Image2;
extern leImageWidget* Screen1_Bulb_Off_Image3;
extern leImageWidget* Screen1_Bulb_Off_Image4;
extern leLabelWidget* Screen1_LED_Touch_ControlLabel;
extern leButtonWidget* Screen1_LED_OnOff_Btn;
extern leButtonWidget* Screen1_Back_Btn;
extern leButtonWidget* Screen1_Next_Btn;

// event handlers
// !!THESE MUST BE IMPLEMENTED IN THE APPLICATION CODE!!
void event_Screen1_LED_OnOff_Btn_OnPressed(leButtonWidget* btn);
void event_Screen1_Back_Btn_OnPressed(leButtonWidget* btn);
void event_Screen1_Next_Btn_OnPressed(leButtonWidget* btn);

// screen lifecycle functions
// DO NOT CALL THESE DIRECTLY
leResult screenInit_Screen1(void); // called when Legato is initialized
leResult screenShow_Screen1(void); // called when screen is shown
void screenHide_Screen1(void); // called when screen is hidden
void screenDestroy_Screen1(void); // called when Legato is destroyed
void screenUpdate_Screen1(void); // called when Legato is updating

leWidget* screenGetRoot_Screen1(uint32_t lyrIdx); // gets a root widget for this screen

//DOM-IGNORE-BEGIN
#ifdef __cplusplus
}
#endif
//DOM-IGNORE-END

#endif // LE_GEN_SCREEN_SCREEN1_H
